class SearchHighlighter {
  /// 在文本中高亮搜索关键词
  /// 
  /// 将关键词用Markdown的粗体语法（**关键词**）包裹，实现高亮效果
  static String highlightSearchTerms(String content, String query) {
    // 提取搜索关键词
    final keywords = query.split(' ')
      .where((word) => word.length > 1)
      .toList();
      
    // 为每个关键词添加Markdown强调标记
    String result = content;
    for (var keyword in keywords) {
      final regex = RegExp(keyword, caseSensitive: false);
      result = result.replaceAllMapped(regex, (match) {
        return '**${match.group(0)}**';
      });
    }
    
    return result;
  }
  
  /// 高亮多个文本片段
  /// 
  /// 同时处理多个文本片段的高亮
  static List<String> highlightMultipleTexts(List<String> contents, String query) {
    return contents.map((content) => highlightSearchTerms(content, query)).toList();
  }
  
  /// 获取文本中的关键词列表
  static List<String> extractKeywords(String query) {
    return query.split(' ')
      .where((word) => word.trim().length > 1)
      .map((word) => word.trim())
      .toList();
  }
} 